#include "chatdialog.h"
#include "ui_chatdialog.h"
#include <QTime>
ChatDialog::ChatDialog(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ChatDialog)
{
    ui->setupUi(this);
}

ChatDialog::~ChatDialog()
{
    delete ui;
}
//设置窗口信息
void ChatDialog::sentInfo(QString name,int id)
{
    m_name= name;
    m_id=id;
    //设置窗口标题，格式：与【ip】的聊天窗口
    setWindowTitle(QString("与[%1]的聊天窗口").arg(m_name));
}
//设置接收到的聊天内容
void ChatDialog::slot_setChatMsg(QString content)
{
    //格式：【ip】时间 内容
    ui->tb_chat->append(QString("[%1] %2 ").arg(m_name).arg(QTime::currentTime().toString("hh:mm:ss")));
    ui->tb_chat->append(content);
}
//设置聊天对象不在线
void ChatDialog::slot_setUserOffline()
{
    //格式：[昵称] 时间 用户不在线
    QString content = QString("[%1] %2 用户不在线").arg(m_name).arg(QTime::currentTime().toString("hh:mm:ss"));
    ui->tb_chat->append(content);
}
//点击发送按钮
void ChatDialog::on_pb_send_clicked()
{
    //1、取出用户输入的字符串，判断字符串不为空
    QString content = ui->te_chat->toPlainText();//不带格式，纯文本
    if(content.isEmpty()){
        return;
    }
    //2、清空编辑窗口
    content = ui->te_chat->toHtml();//带格式的文本
    ui->te_chat->clear();

    //3、显示到浏览窗口，格式：【我】时间 内容
    ui->tb_chat->append(QString("[我] %1").arg(QTime::currentTime().toString("hh:mm:ss")));
    ui->tb_chat->append(content);

    //4、通过信号把字符串发给kernel;
    Q_EMIT SIG_sendChatMsg(m_id,content);
}
//点击发送文件按钮
void ChatDialog::on_pb_sendfile_clicked()
{
    //发送信号给kernel
    Q_EMIT SIG_sendFile(m_id);
}

//点击删除好友按钮
void ChatDialog::on_pb_del_clicked()
{
    //发送信号给kernel;
    Q_EMIT SIG_DelFriend(m_id);
}

